The present invention relates to interfaces for hardware devices, and more specifically, to methods and systems for matching a software interface to a specialized hardware device.
Recently, the use of specialized hardware devices for performing processor intensive functions has been increasing. These specialized hardware devices may be used for data manipulation operations, such as data compression, encoding, or the like. These specialized hardware devices, such as data manipulation devices, often have different performance attributes, such as speed and latency, than a general processor performing similar operations in pure software. For example, an increased overhead may be incurred in communicating with a specialized hardware device as compared with a general processor.
In general, in order for the specialized hardware devices to be used by a processor a software interface is required. The software interface allows the processor and applications to utilize the specialized hardware devices to perform processor intensive functions.